/**
 * @Author 孤风雪影
 * @Email gitee.com/efairy520
 * @Date 2024/4/17 0:03
 * @Version 1.0
 */
public class leecode_283 {
    /**
     * 283. 移动零
     * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
     * 输入: nums = [0,1,0,3,12]
     * 输出: [1,3,12,0,0]
     * @param args
     */
    public static void main(String[] args) {
        leecode_283 leecode283 = new leecode_283();
        int[] nums = {0,0,1};
        leecode283.moveZeroes(nums);
        System.out.println("nums = " + nums);
    }

    public void moveZeroes(int[] nums) {
        int copyIndex = 0;
        for (int i = 0; i < nums.length; i++) {
            //把所有非零的摘出来
            if (nums[i] != 0) {
                nums[copyIndex++] = nums[i];
            }
        }
        for (int j = copyIndex; j < nums.length; j++) {
            //后面补0就可以了
            nums[j] = 0;
        }
    }
}
